﻿using JESAI.EventBus.Contexts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JESAI.EventBus.Monitors
{
    public interface IEventBusMonitor
    {
        Task OnExecutCancelAsync(EventExecutingContext context);
        Task OnExecutBeforeAsync(EventExecutingContext context);
        Task OnExecutingAsync(EventExecutingContext context);
        Task OnExecutedAsync(EventExecutedContext context);

        Task OnExecutExceptionAsync(EventExecutedContext context);
    }
}
